package day11.byteStream;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * @author Xiao
 * @date 2021/8/1
 */
public class InputCase01 {
    /**
     * 文件复制
     *      需求∶把“E:\develop\Test\demo02.txt”复制到当前模块下。
     *
     *      public int read(byte[ b)：
     *      * 从输入流读取最多b.length个字节的数据，返回的是读入缓冲区的总字节数,也就是实际的读取字节个数。
     *      public void write(byte[] b,int off,int len)throws IOException：
     *      从位于偏移量 off的指定字节数组写入 len字节到该文件输出流。
     */
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("E:\\develop\\Test\\demo02.txt");
        FileOutputStream fos = new FileOutputStream("videoPractice\\src\\day11\\" +
                "byteStream\\demo02.txt",true);
//        method1(fis, fos);
        method2(fis, fos);
        fis.close();
        fos.close();
    }

    private static void method2(FileInputStream fis, FileOutputStream fos) throws IOException {
        byte[] bytes = new byte[1024];
        int len;
        while ((len = fis.read(bytes)) != -1) {
            fos.write(bytes,0,len);
        }
    }

    private static void method1(FileInputStream fis, FileOutputStream fos) throws IOException {
        int read;
        while ((read = fis.read()) != -1) {
            fos.write(read);
        }
    }
}
